######################################################
#PA Democratic Primary Elections Figure.
# When Women Run, Voters Will Follow (Sometimes): 
##Examining the Mobilizing Effect of Female Candidates in the 2014 and 2018 Midterm Elections 
#By Safarpour, Wyckoff Gaynor, Rouse, and Swers #
######################################################

#clean the environment.
rm(list=ls()) 

#Packages.
library(ggplot2)
library(cowplot)

#setwd
setwd("/Users/ACS/Dropbox/When Women Run/Revision_PoliticalBehavior/R&R Part 2/Publication Docs/Replication Data and Code/")

#read in PA data.
PA14<-read.csv("PA2014PrimaryEffects.csv", 
               header = TRUE, stringsAsFactors = F)
PA18<-read.csv("PA2018PrimaryEffects.csv", 
               header = TRUE, stringsAsFactors = F)
PAprimary<-rbind(PA14,PA18)

head(PAprimary)

#Figure.
pdf("PA2018and2014PrimaryElections.pdf", width=9, height=5)
MP<-ggplot(d=PAprimary, aes(`Registrant.Subgroup`, Effect*100, shape=Election, color=Election))+
  geom_point(position = "dodge",
             stat = "identity")+
  geom_errorbar(aes(ymin=`UpperCI`*100, ymax=`LowerCI`*100),  width=0.5)+
  geom_hline(yintercept=0, linetype="dashed", color="gray28")+
  labs(y="Percentage Point Difference in Predicted Probability of Voting", x="Registrant Subgroup")+
  theme_bw()+theme(axis.text=element_text(size=8.5), axis.title=element_text(size=10))
ggdraw(add_sub(MP, x=0,hjust=0,
               "Notes: Estimates calculated using separate models for each election. Error bars are 95% confidence intervals calculated using simulation \nholding covariates at their observed values. Models only include registered Democrats. Gen. Z was not eligible to vote in the 2014 primary election.", #add note.
               fontface = "italic", colour = "black", size=9)) #x=0.2 shifts it so its left justified.
dev.off()

